package disenioPantallas;

import java.util.Vector;

import entidades.ActividadEnPotrero;
import entidades.RegistroDeLLuvia;

import net.sf.jasperreports.engine.JRDataSource;
import net.sf.jasperreports.engine.JRException;
import net.sf.jasperreports.engine.JRField;

public class RegistrosDataSource implements JRDataSource{
	
	private Vector<Object> elementos=new Vector<Object>();
	private int indice;
	
	public void add(Object o){
		elementos.add(o);
	}
	
	public boolean next() throws JRException {
		return ++indice < elementos.size();
	}

	
	public Object getFieldValue(JRField jr) throws JRException {

	    Object valor = null;  

	    try {
			RegistroDeLLuvia lluvia=(RegistroDeLLuvia) elementos.get(indice);
		    if("fecha".equals(jr.getName())) 
		    { 
		        valor = lluvia.getFechaRegistro();
		    } else if("potrero".equals(jr.getName())) 
		    { 
		        valor = new String("");
		    } 
		    else if("actividad".equals(jr.getName())) 
		    { 
		        valor = String.format("%d ML.", lluvia.getMilimetros());
		    } else if("observacion".equals(jr.getName())) 
		    { 
		        valor = lluvia.getObservacion();
		    }else if("campo".equals(jr.getName())) 
		    { 
		        valor = lluvia.getCampoPerteneciente().getNombreCampo();
		    } else if("clase".equals(jr.getName())) 
		    { 
		        valor = new String("Lluvias");
		    }else
		    	valor="sin valor";

		    return valor;
			
			
		} catch (Exception e) {
			ActividadEnPotrero actividad=(ActividadEnPotrero) elementos.get(indice);
		    if("fecha".equals(jr.getName())) 
		    { 
		        valor = actividad.getFecha();
		    } else if("potrero".equals(jr.getName())) 
		    { 
		        valor =actividad.getPotrero().getNombrePotrero();
		    }else if("campo".equals(jr.getName())) 
		    { 
		        valor = actividad.getPotrero().getCampoPerteneciente().getNombreCampo();
		    } 
		    else if("actividad".equals(jr.getName())) 
		    { 
		        valor = actividad.getActividad().getNombreActividad();
		    } else if("observacion".equals(jr.getName())) 
		    { 
		        valor = actividad.getDescripcion();
		    } else if("clase".equals(jr.getName())) 
		    { 
		        valor = new String("Actividades");
		    }else
		    	valor="sin valor";

		    return valor;
		}
	    
}



}
